package com.cq.hd.order.api.dto;

import com.cq.hd.common.enums.biz.CalCommissionTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class OrderCommissionDto implements Serializable {

    @ApiModelProperty(value = "分享码")
    private String code;

    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderPrice;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal payPrice;

    @ApiModelProperty(value = "下单份数")
    private Integer orderNum;

    @ApiModelProperty(value = "一级经纪人id")
    private Long agent1Id = 0L;

    @ApiModelProperty(value = "二级经纪人id")
    private Long agent2Id = 0L;

    @ApiModelProperty(value = "推广奖励类型（0-无，1-佣金，2-其他权益，3-积分）")
    private Integer rewardType = 0;

    @ApiModelProperty(value = "计算佣金类型(0-无,1-固定佣金,2-固定佣金比例，3-专属佣金比例)")
    private Integer calCommissionType = CalCommissionTypeEnum.NO.getValue();

    @ApiModelProperty(value = "专属佣金比例(商家跟一级经纪人)")
    private BigDecimal exclusiveCommissionRate = BigDecimal.ZERO;

    @ApiModelProperty(value = "一级经纪人跟二级经纪人佣金比例")
    private BigDecimal subAgentCommissionRate = BigDecimal.ZERO;

    @ApiModelProperty(value = "二级经纪人可得佣金")
    private BigDecimal subAgentCommissionAmt = BigDecimal.ZERO;

    @ApiModelProperty(value = "实际全核销佣金金额")
    private BigDecimal actualCommissionAmt = BigDecimal.ZERO;

    @ApiModelProperty(value = "其他权益")
    private String otherEquity = "";

    @ApiModelProperty(value = "一级经纪人可得积分")
    private BigDecimal agentPointsAmt = BigDecimal.ZERO;

    @ApiModelProperty(value = "二级经纪人可得积分")
    private BigDecimal subAgentPointsAmt = BigDecimal.ZERO;
}
